#ifndef OBJECTS_H
#define OBJECTS_H
#include "cutil_math.h"

typedef struct
{
	float3 point;
	float3 intensity;
} light;

typedef struct
{
	float3 point;
	float3 v[2];
	float3 normal;
	float3 normals[3];
	int sf_id;
} m_triangle;

typedef struct
{
	float3 point;
	float3 v[2];
	float3 normals[3];
	int sf_id;
} l_m_triangle;

typedef struct
{
	float3 mins;
	float3 maxs;
} box;

typedef struct
{
	m_triangle *t;
	int n_ts;
} l_mesh;

typedef struct
{
	box b;
	m_triangle *t;
	int n_ts;
} mesh;

typedef struct
{
	box b;
	m_triangle *t;
	int n_ts;
	char *file;
} f_mesh;


typedef struct
{
	float3 point;
	float3 v[2];
	float3 normal;
	int sf_id;
} triangle;

typedef struct
{
	float3 center;
	float radius;
	int sf_id;
} sphere;

typedef struct
{
	float3 point;
	float3 normal;
	int sf_id;
} plane;

#endif
